ICTSC2018 本戦 問題解説: バックアップは大事だよ

問題文

/ictsc/*/etc/toracon/*を消去してしまった。 それぞれ別の手段でマシンの中にバックアップが取られているらしい。

すぐにデータを復旧してほしい。

情報

  • IPアドレス: 192.168.18.1
  • SSHユーザー: admin
  • SSHパスワード: savefile
パス バックアップツール
/ictsc snapper
/etc/toracon etckeeper

問題のゴール状態

ファイルを復旧し消去してしまう前のパスに配置する

トラブルの概要

異なるツールでバックアップしていたファイルを、それぞれ復元させる問題。

解説

/ictsc2018  

この問題はSnapperとetckeeperという2つのアプリケーションを使ってバックアップを取っていた環境で、そのファイルを誤って削除したため復元する、という問題でした。

/ictsc2018 は、snapperとbtrfs subvolumeでバックアップが取られています。 snapper undochangeを実行するか、/ictsc2018/.snapshot/1/snapshots/以下に実ファイルが存在するので、そこからコピーすることで復元ができます。

/etc/toracon

/etc/toraconは、etckeeperとgitで管理されていました。

etckeeperはGitを用いてファイルのバージョン管理を行っているため、sudo git logsudo git statusでコミットを特定した後、 sudo git checkoutすることで復元できます。
また、etckeeperのコマンドラインを利用してetckeeper vcs checkoutなどすれば、特定のファイルを復元できます。

回答例

「/ictsc2018を復元させるため、snapper status 0..1で変更点を見つけ、snapper undochange 0..1をした」

「/etc/toraconを復元させるため、git showやgit log、git diffを実行してコミットを確認し、git checkout HEAD@DSC_0745.JPGを実行した」

採点基準

  • Snapperのスナップショットから、/ictsc2018/ictsc8-story.mdを復元できる 50%
  • etckeeperのコミットから、/etc/toracon/DSC_0745.JPGを復元できる 50%

※ ictsc8-story.mdはictsc8での語彙設定、画像ファイルは猫の写真